<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>slice</title>
  <script>

    /**
     * slice([start],[end])方法返回一个新的数组对象，
     * 这一对象是一个由 start 和 end 决定的原数组的浅拷贝（包括 begin，不包括end）。
     * 原始数组不会被改变。
     * start：提取起始处的索引（从 0 开始），如果该参数为负数，则表示从原数组中的倒数第几个元素开始提取
     *  如果 start 超出原数组的索引范围，则会返回空数组。
     * end：提取终止处的索引（从 0 开始），在该索引处结束提取原数组元素。如果 end 被省略，则 slice 会一直提取到原数组末尾。
     * 返回值：一个含有被提取元素的新数组。
     */

    /** 
     * slice 不会修改原数组，只会返回一个浅复制了原数组中的元素的一个新数组。
     */

    const array = ['apple', 'banana', 'grape', 'ananas'];

    // 只要最后两个元素
    const array2 = array.slice(2);
    console.log(array2); // ['grape', 'ananas']

    // 只要前两个
    console.log(array.slice(0, 2)); // ['apple', 'banana']

    // 只要中间两个
    console.log(array.slice(1, 3)); // ['banana', 'grape']

  </script>
</head>

<body>

</body>

</html>